其他
1.9 万 Star!打马赛克就安全么?这个“一秒还原”的工具了解一下
【导语】:Depix 是用于将数字、字母从像素化的图片中还原的工具。
简介
Depix 是用于将数字、字母从像素化的图片中还原的Python工具,简单点说,就是从马赛克中恢复原始内容,目前有它的一些限制,仅适用于使用线性滤波器创建的像素化图像。
许多领域都使用像素化来混淆图片中的信息,像素化描述了部分降低图片分辨率以审查信息的过程,Depix的算法使用了线性滤波器的原理,线性滤波器采用一组像素,并用这组像素中所有像素的平均值覆盖这些像素。线性滤波器是一种确定性算法,因此对相同值进行像素化将始终产生相同的结果。
项目地址是:
https://github.com/beurtschipper/Depix
安装使用
Clone仓库源码:
git clone https://github.com/beurtschipper/Depix.git
cd Depix
安装依赖:
python -m pip install -r requirements.txt
运行:
python depix.py -p /path/to/your/input/image.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o /path/to/your/output.png
对使用Notepad创建并使用Greenshot像素化的示例图像进行去像素化:
python3 depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png
对使用Sublime创建并使用Gimp像素化的示例图像进行去像素化:
python3 depix.py -p images/testimages/sublime_screenshot_pixels_gimp.png -s images/searchimages/debruin_sublime_Linux_small.png --backgroundcolor 40,41,35 --averagetype linear
原理简介
使用与马赛克图相同的字体设置,包括字体、颜色、大小等,将debruinseq.txt(在源码仓库中有)的内容放到编辑器(例如上面介绍的两个例子,就是分别放到Notepad和Sublime Text)中并截图,截图的结果作为识别搜索的训练数据,用于识别马赛克图中的内容。 算法利用线性滤波器单独处理每个马赛克块。对于每个块,它将搜索图像中的所有像素化块以检查直接匹配。 对于大多数像素化图像,Depix设法找到单一匹配结果。算法将周围多个匹配块的进行几何比较,重复该过程输出最终结果。 限制:该算法通过整数块边界匹配。因此,它有一个基本假设,对于所有渲染的字符,文本定位都是在像素级别完成的。
此前已有网友用这个工具做过测试,如下图:
给敏感信息打码,看来不大管用了。
- EOF -
更多优秀开源项目(点击下方图片可跳转)
开源前哨
日常分享热门、有趣和实用的开源项目。参与维护10万+star 的开源技术资源库,包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等
关注后获取
回复 资源 获取 10万+ star 开源资源
分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!